$(function () {
    // 上面获取全选模块
    // $('.checkAll').on('click', function () {
    //     let checkedall = $('.checkAll').prop('checked');
    //     // 让单选按钮，跟着全选按钮
    //     $('.checkOne').prop('checked', checkedall)
    //     // 让下全选按钮跟着上全选按钮
    //     $('.checkedAll').prop('checked', checkedall)
    // })
    // 下面获取全选按钮
    // $('.checkedAll').on('click', function () {
    //     let checkedall = $('.checkedAll').prop('checked');
    //     // 让单选按钮，跟着全选按钮
    //     $('.checkOne').prop('checked', checkedall)
    //     // 让上全选按钮跟着下全选按钮
    //     $('.checkAll').prop('checked', checkedall)
    // })
    // 循环
    // let checkAll = $('.checkAll');
    // // 循环遍历两个checkAll，循环绑定
    // for (let i = 0; i < checkAll.length; i++) {
    //     const ele = checkAll[i];
    //     // console.log(ele);
    //     ele.addEventListener('click', function (e) {
    //         let checkedall = this.checked;
    //         // 让单选按钮，跟着全选按钮
    //         $('.checkOne').prop('checked', checkedall)
    //         // 让下全选按钮跟着上全选按钮
    //         $('.checkedAll')[i].prop('checked', checkedall)
    //     })
    // }


    // 全选单选框模块
    // 获取全选按钮 checkAll 用change触发
    $('.checkAll').change(function () {
        let checkAll = ($(this).prop('checked'));
        // 将单选按钮和另一个全选按钮都加上 checked 跟着checkAll全选
        $('.checkOne, .checkAll').prop('checked', checkAll);
        // 如果全选框选中单选框就都添加css属性
        if ($(this).prop('checked')) {
            // 让所有商品添加check-cart-item类名
            $('.cart-item').addClass('check-cart-item')
        } else {
            $('.cart-item').removeClass('check-cart-item')
        }
        getSum()
    })
    // 获取单选按钮
    $('.checkOne').change(function () {
        // 获取单选框长度
        let checkOneVal = $('.checkOne').length;
        // 获取已点击单选框长度
        let checkOneOn = $('.checkOne:checked').length;
        // 判断单选框长度是否等于已选中长度，如果等于全选框都为true
        if (checkOneVal == checkOneOn) {
            $('.checkAll').prop('checked', true)
        } else {
            $('.checkAll').prop('checked', false)
        }
        // 如果谁被选中谁的单选框就添加css属性
        if ($(this).prop('checked')) {
            // 让所有商品添加check-cart-item类名
            $(this).parent().parent('.cart-item').addClass('check-cart-item')
        } else {
            $(this).parent().parent('.cart-item').removeClass('check-cart-item')
        }
        getSum()
    })


    // 商品模块
    // 商品减少
    $('.decrement').on('click', function () {
        // 获取文本框的值
        let txt = $(this).siblings('.p-txt').val();
        // console.log(txt);
        if (txt == 1) {
            alert('已经最少了');
            return false
        }
        txt--;
        $(this).siblings('.p-txt').val(txt)
        // 获取当年文本框的值和当前的价格
        let s = $(this).parents(".p-num").siblings('.p-price').html();
        // console.log(sum);
        // 截取掉￥
        s = s.substr(1);
        // 计算小计，保留小数后两位
        let sum = (s * txt).toFixed(2);
        // 小计模块
        $(this).parents(".p-num").siblings('.p-sum').html("￥" + sum);
        getSum();
    })

    // 商品增加
    $('.increment').on('click', function () {
        // 获取文本框的值
        let txt = $(this).siblings('.p-txt').val();
        // console.log(txt);
        txt++;
        $(this).siblings('.p-txt').val(txt)
        // 获取当前的价格
        let s = $(this).parents(".p-num").siblings('.p-price').html();
        // console.log(sum);
        // 截取掉￥
        s = s.substr(1);
        // 计算小计，保留小数后两位
        let sum = (s * txt).toFixed(2);
        // 小计模块
        $(this).parents(".p-num").siblings('.p-sum').html("￥" + sum);
        getSum();
    })

    // 修改文本框的值来计算小计
    $('.p-txt').change(function () {
        // 获取文本框的值
        var txt = $(this).val();
        // 获取当前的价格
        var s = $(this).parents('.p-num').siblings('.p-price').html()
        // 截取掉￥
        s = s.substr(1);
        // 计算小计，保留小数后两位
        var price = (s * txt).toFixed(2);
        // 小计模块
        $(this).parents(".p-num").siblings('.p-sum').html("￥" + price);
        getSum();
    })
    // 总价
    getSum()
    function getSum() {
        // 计算总件数
        let count = 0;
        // 计算总价格
        let price = 0;
        // 总价
        let list = $('.cart-item-list>.cart-item')
        let selectList = list.filter((index, ele) => {
            return ele.className.includes('check-cart-item');
        })
        for (let i = 0; i < selectList.length; i++) {
            count += Number($(selectList[i]).children(".p-num").children(".p-statistics").children(".p-txt").val())
            let tmpPrice = $(selectList[i]).children(".p-sum")[0].innerText;
            price = (price * 10000 + Number(tmpPrice.substr(1)) * 10000) / 10000;
        }
        $('.amount-sum em').text(count);
        $('.price-sum em').text("￥" + price.toFixed(2))

        // $('.checkOne').on('click', function () {
        //     console.log(this);

        //     // for (let j = 0; j < $('.checkOne').length; j++) {
        //     // let isCheckOne = $(this).prop('checked');
        //     // console.log(this);
        //     $('.p-txt').each(function (i, ele) {
        //         let c = $(this).parent().siblings().children().children('.p-txt').val()
        //     })
        //     // console.log(c);
        //     $('.p-sum').each(function (i, ele) {
        //         let p = $(this).parent().siblings('.p-sum').text().substr(1)
        //         // console.log(p);
        //     })
        //     if ($(this).prop('checked')) {
        //         count += parseInt(c);
        //         price += parseFloat(p);
        //         console.log(count);
        //     } else {
        //         count -= parseInt(c);
        //         price -= parseFloat(p);
        //     }
        //     // }
        //     $('.amount-sum em').text(count);
        //     $('.price-sum em').text("￥" + price.toFixed(2));

        // })
    }


    //         // 总价
    //         $('.p-txt').each(function (i, ele) {
    //             count += parseInt($(ele).val())
    //         })
    //         $('.amount-sum em').text(count);
    //         // 总额
    //         $('.p-sum').each(function (i, ele) {
    //             // 截取掉第一个字符￥ 保存总价
    //             price += parseFloat($(ele).text().substr(1));
    //         });
    //         $('.price-sum em').text("￥" + price.toFixed(2));

    // 删除商品
    // 单件删除
    $('.p-del a').on('click', function () {
        $(this).parents('.cart-item').remove();
        getSum()
    });

    // 点击选中框删除
    $('.remove-click').on('click', function () {
        $('.checkOne:checked').parents('.cart-item').remove();
        getSum()
    })
    // 清空购物车
    $('.clear-all').on('click', function () {
        $('.cart-item').remove();
        getSum()
    })

    $('.logo').on('click', () => {
        window.location.href = "http://localhost:3000";
    })
})
